SFTP 是一種網(wǎng)絡(luò)協(xié)議,可通過(guò)安全數(shù)據(jù)流訪問(wèn)、傳輸和管理您的數(shù)據(jù)。SFTP 代表 SSH 文件傳輸協(xié)議,與普通的 FTP 技術(shù)不同,它通過(guò)安全網(wǎng)絡(luò)將您的設(shè)備連接到遠(yuǎn)程主機(jī)和服務(wù)器。SSH、Secure Shell 或 Secure Socket Shell為遠(yuǎn)程系統(tǒng)創(chuàng)建安全隧道,以便通過(guò)開放網(wǎng)絡(luò)(如 Internet)進(jìn)行通信。實(shí)施 SSH 協(xié)議的實(shí)用程序提供強(qiáng)密碼和公鑰身份驗(yàn)證以及加密數(shù)據(jù)訪問(wèn)。
因此,通過(guò) SFTP 傳輸?shù)臄?shù)據(jù)是端到端加密的,在傳輸過(guò)程中不能被重定向、嗅探或竊取。只能通過(guò)命令行界面通過(guò) SSH 連接到遠(yuǎn)程服務(wù)器。然而,盡管 SFTP 基于 SSH,但某些圖形用戶界面客戶端也支持 SFTP。
常見的 SFTP 用例
SSH 文件傳輸協(xié)議的主要用途是通過(guò)本地計(jì)算機(jī)和互聯(lián)網(wǎng)管理遠(yuǎn)程主機(jī)(最有可能是云托管服務(wù)器)上的數(shù)據(jù)。
這樣你就可以:
- 將文件傳輸?shù)竭h(yuǎn)程系統(tǒng)。? 在遠(yuǎn)程機(jī)器上創(chuàng)建 SSH 服務(wù)器,您可以從其他計(jì)算機(jī)訪問(wèn)您的數(shù)據(jù)。
- 管理遠(yuǎn)程計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)管理員使用 SFTP 跨服務(wù)器連接,管理一個(gè)網(wǎng)絡(luò)中的多個(gè)終端,執(zhí)行上傳和備份系統(tǒng)數(shù)據(jù)。
- 共享敏感的登錄信息。通過(guò) SFTP 而非不安全的電子郵件和 FTP 共享 ID 和登錄密碼。
- 通過(guò)云/互聯(lián)網(wǎng)共享、傳輸或存儲(chǔ)客戶數(shù)據(jù)。不要將敏感數(shù)據(jù)存儲(chǔ)在 DMZ 中或使用電子郵件和 FTP 進(jìn)行傳輸。使用 SFTP 以正確的權(quán)限保護(hù)您的所有通信。
- 上傳、檢索和管理從本地到云存儲(chǔ)的文件和腳本。
- 切換文件遠(yuǎn)程托管服務(wù)器或虛擬專用服務(wù)器。VPS 上的數(shù)據(jù)存儲(chǔ)可以說(shuō)比共享主機(jī)更安全。但是,通過(guò)開放網(wǎng)絡(luò)遷移到另一個(gè)提供商會(huì)使您的文件暴露于可能的數(shù)據(jù)竊取之下。
如何在 Windows 上使用 SFTP 上傳文件
PuTTY 是世界上最流行的 SSH 客戶端應(yīng)用程序之一,默認(rèn)情況下,它帶有一個(gè)用于建立 SFTP 連接的模塊。它叫做 PSFTP,Windows 用戶可以在開始菜單的 PuTTY 文件夾下找到它。

如果您過(guò)去使用過(guò) PuTTY,PSFTP 將自動(dòng)嘗試使用您的用戶名連接到您的服務(wù)器。如果沒(méi)有,您可以使用open命令和user@hostname約定建立連接。
使用 PuTTY SFTP 使用 SFTP 上傳文件
分別對(duì)遠(yuǎn)程目錄和本地目錄使用cd和lcd命令,從命令窗口瀏覽存儲(chǔ)目錄。分別對(duì)遠(yuǎn)程和本地系統(tǒng)使用dir和!dir命令列出當(dāng)前工作目錄的內(nèi)容。

使用以下步驟將文件從本地計(jì)算機(jī)上傳到遠(yuǎn)程服務(wù)器:
- 使用lcd命令導(dǎo)航到正確的本地目錄。
- 使用cd命令導(dǎo)航到要將文件復(fù)制到的遠(yuǎn)程目錄。
- 使用put [file name]將文件上傳到遠(yuǎn)程服務(wù)器
要將文件從遠(yuǎn)程服務(wù)器下載到本地計(jì)算機(jī),請(qǐng)?jiān)趯?dǎo)航到正確的本地和遠(yuǎn)程目錄后使用get [file name]命令。
運(yùn)行幫助命令以查看用于導(dǎo)航本地和遠(yuǎn)程系統(tǒng)的其他代碼。

從其他系統(tǒng)使用 SFTP 上傳文件
MacOS 和 Linux 都可以建立到遠(yuǎn)程服務(wù)器的 SFTP 連接,而無(wú)需額外的客戶端。為此,打開終端并輸入:
$ sftp [用戶名]@[主機(jī)名]
您需要輸入您的帳戶密碼,之后您就可以使用標(biāo)準(zhǔn)的 ftp 命令管理您的文件。
使用 FileZilla 上傳文件
如果您不習(xí)慣使用命令行界面,您很可能希望使用基于 GUI 的客戶端,例如 FileZilla。幸運(yùn)的是,它是完全免費(fèi)和開源的,并且可以在 Windows、Linux 和 MacOS 上使用。
將 SFTP 與 FileZilla 結(jié)合使用與將其用于常規(guī)的、不太安全的文件傳輸協(xié)議版本沒(méi)有太大區(qū)別。您唯一需要做的就是在主機(jī)名前面輸入sftp://并輸入正確的端口(開箱即用,SFTP 使用默認(rèn)的 SSH 端口(端口 22),但一些提供商出于安全原因更改它)。例如,如果您嘗試連接到 ScalaHosting 托管的 VPS 服務(wù)器,則需要在此處輸入的內(nèi)容。

結(jié)論
正確的 SFTP 客戶端將為您提供比常規(guī) FTP 或 SCP 實(shí)用程序更寬的帶寬,這意味著無(wú)限的文件大小和更高的效率。除了增加的安全性,SFTP 工具還允許無(wú)限連接到單個(gè)服務(wù)器,通過(guò)同時(shí)和即時(shí)的數(shù)據(jù)訪問(wèn)提高您的業(yè)務(wù)的可擴(kuò)展性。